The present invention relates to an image processing apparatus, an image processing method, and a program product.
An object or a background has a specific color such as blue of blue sky or pink of cherry blossoms, with which a person images the object or the background. Those colors are called “memory colors”. Even if the person looks at an image that faithfully reproduces the color of a certain object or background in keeping with a real world, the person does not evaluate the image as being beautiful. This is because the color (memory color) imaged by the person is different from the reproduced color, and the person recognizes that the color is light, or the like.
For that reason, most of the image processing apparatuses conduct correction processing for reproducing the color imaged by the person for each of the objects and the backgrounds. The correction processing is called “memory color correction”. In general, the methods of implementing the memory color correction include the following two methods. That is, there are (1) a dedicated circuit (characteristic correction function) and (2) a three-dimensional lookup table.
First, (1) the memory color correction using the dedicated circuit will be described. In this example, the dedicated circuit conducts processing for specializing in the memory color correction. More specifically, a specific color to be corrected is set for the dedicated circuit in a coordinate format of a source and a destination in a color space such as Cb/Cr or a*/b*. The dedicated circuit corrects a color region including a surrounding color region according to the setting. However, since the dedicated circuit specializes in the memory color correction, the dedicated circuit cannot conduct another processing. Further, in the case of correcting the characteristics of two or more regions, a plurality of dedicated circuits are required.
Subsequently, (2) the memory color correction using a three-dimensional lookup table will be described. Information of the three-dimensional lookup table is stored in an arbitrary memory. In the three-dimensional lookup table is stored table data corresponding to coordinate points such as 9×9×9 or 17×17×17 mainly expressing three-dimensional color spaces of RGB. The three-dimensional lookup table stores correspondence of coordinates of the respective points and coordinates of the transformation destination of the coordinates. For example, if the three-dimensional lookup table has the table data corresponding to the coordinate points of 17×17×17, RGB coordinates (0, 0, 0) and RGB coordinates of its transformation destination, and RGB coordinates (16, 16, 16) and RGB coordinates of its transformation destination are stored in the three-dimensional lookup table. Then, an arbitrary processing unit refers to the three-dimensional lookup table, and transfers the respective coordinates existing in the color space to the coordinates of the transformation destination through a variety of interpolation processing. For example, the processing unit calculates the transformation destination coordinates of the RGB coordinates (8, 8, 8) with reference to the transformation destination coordinates of the RGB coordinates (0, 0, 0) and the transformation destination coordinates of the RGB coordinates (16, 16, 16).
The three-dimensional lookup table merely holds a transformation rule, and the three-dimensional lookup table per se is not provided with any function. However, appropriate table data is set for the three-dimensional lookup table, and processing is conducted according to the transformation rule within the table, thereby making it possible to realize a variety of color management functions such as color gamut mapping, 6-axis correction, memory color correction, or gamma correction. In this example, the table data set in the three-dimensional lookup table can be appropriately changed. For that reason, with only the provision of a single processing circuit (or a processing function using software), a necessary function (including the simultaneous realization of a plurality of region processes and a plurality of other functions) can be realized as the situation demands.
Thus, the correction using the three-dimensional lookup table has the degree of freedom absolutely higher than that of the correction using the dedicated circuit function (characteristic correction function). For that reason, with the configuration using the three-dimensional lookup table, a large number of advantages from the viewpoint of the costs, such as a reduction in development resource and a reduction in circuit scale, and an improvement in usability can be conducted. Furthermore, when a trouble occurs, or when the performance is improved, the table data in the three-dimensional lookup table is replaced with another, as a result of which the problem can be solved without changing the hardware.
Hereinafter, a description will be given of publications disclosing an image processing technology related to the above items. Japanese Unexamined Patent Publication No. 2010-118881 discloses a color signal processing system that conducts color management processing on an input moving image with the use of the three-dimensional lookup table. The system includes a color transformation unit that transforms color information on an input image signal by a multidimensional lookup table, an interpolation unit that outputs a composite image signal in which the image signal transformed by the color transformation unit is combined with the input image signal at an arbitrary ratio, and a lookup table rewrite unit that changes data of the multidimensional lookup table in the color transformation unit. With the above configuration, the system can realize the color management processing with high precision even when rewriting data in the lookup table.
International Publication No. WO2004/032524 discloses an image processing apparatus that conducts automatic color adjustment with few adverse effects to the memory color correction. The image processing apparatus includes an intensity determination unit that generates a correction intensity which in a periphery of a color region is smaller than that in the color region of a specific range set on the basis of two chromaticity components (a*/b*), and a unit that conducts correction according to the generated correction intensity.